<?php
Atomik::needed("propel");
$actif = 0;
if (count($_POST)) {
    switch ($_POST["action"])
    {
        case "connexion":
            $actif = 0;
            connect();
            break;
        case "inscription":
            $actif = 1;
            subcribe();
            break;
        case "mot_passe_perdu":
            $actif = 2;
            lost_password();
            break;
    }
}

function connect(){
    $querie = TabAbonneQuery::create()->filterByEmail($_POST["con_login"])->filterByPass($_POST["con_pass"])->findOne();
    if($querie != null){
        $_SESSION["user_login"] = $querie->getEmail();
        $_SESSION["user_key"] = md5($querie->getPass());
        $_SESSION["connect"] = true;
        $querie->setLastVisit(new DateTime());
        $querie->save();
        Atomik::redirect("?");
    }
    else{
        $querie = TabAdminQuery::create()->filterByLogin($_POST["con_login"])->filterByPass($_POST["con_pass"])->findOne();
        if($querie != null){
            $_SESSION["admin_login"] = $querie->getLogin();
            $_SESSION["admin_key"] = md5($querie->getPass());
            $_SESSION["connect"] = true;
            Atomik::redirect("?");
        }
        else{
            Atomik::flash("Erreur d'authentification - Login inconnu ou Mot de passe incorect");
        }
    }
}

function subcribe(){

    if($_POST["ins_prenom"]==""){
        Atomik::flash("Merci de renseigner tous les champs");
        return;
    }
    if($_POST["ins_nom"]==""){
        Atomik::flash("Merci de renseigner tous les champs");
        return;
    }
    if($_POST["ins_pass"]==""){
        Atomik::flash("Merci de renseigner tous les champs");
        return;
    }
    if($_POST["ins_email"]==""){
        Atomik::flash("Merci de renseigner tous les champs");
        return;
    }
    if($_POST["ins_adresse"]==""){
        Atomik::flash("Merci de renseigner tous les champs");
        return;
    }
    if($_POST["ins_naissance"]==""){
        Atomik::flash("Merci de renseigner tous les champs");
        return;
    }
    if($_POST["ins_pass"]!=$_POST["ins_pass2"]){
        Atomik::flash("Les deux mots de passe ne sont pas identiques");
        return;
    }
    $querie = TabAbonneQuery::create()->filterByEmail($_POST["ins_email"])->findOne();
    if($querie!=null){
        Atomik::flash("Email déjà utilisé pour un autre abonné");
    }
    else{
        $abonne = new TabAbonne();
        $abonne->setPrenom($_POST["ins_prenom"]);
        $abonne->setNom($_POST["ins_nom"]);
        $abonne->setEmail($_POST["ins_email"]);
        $abonne->setPass($_POST["ins_pass"]);
        $abonne->setAdresse($_POST["ins_adresse"]);
        $abonne->setDateInscription(new DateTime());
        $naissance = new DateTime();
        $tmp = explode("/", $_POST["ins_naissance"]);
        $naissance->setDate($tmp[2], $tmp[1], $tmp[0]);
        $abonne->setDateNaissance($naissance);
        $abonne->save();
        Atomik::flash("Vous êtes maintenant inscrit");
        $actif = 0;
    }
}

function lost_password(){
    if($_POST["pass_login"]==""){
        Atomik::flash("Merci de renseigner tous les champs");
        return;
    }
    $ProjectName = Atomik::get("name_project");
    Atomik::needed("mail.class");
    $login = $_POST["pass_login"];
    $query_abonne = TabAbonneQuery::create()->filterByEmail($login)->findOne();
    if($query_abonne!=null){
        $mail = new mail(null,null,null);
        $mail->setDestinataires($mail);
        $mail->setObjet($ProjectName." - Rappel des identifiants");
        $mail->setContenu("<h1>".$ProjectName." - Rappel des identifiants</h1>
            Email : <b>".$query_abonne->getEmail()."</b><br />
            Mot de passe : <b>".$query_abonne->getPass()."</b>
            ");
        $mail->send();
        Atomik::flash("Identifiant envoyé par mail");
        return;
    }
    $query_admin = TabAdminQuery::create()->filterByLogin($login)->findOne();
    if($query_admin!=null){
        $mail = new mail(null,null,null);
        $mail->setDestinataires($query_admin->getEmail());
        $mail->setObjet($ProjectName." - Rappel des identifiants Admin");
        $mail->setContenu("<h1>".$ProjectName." - Rappel des identifiants Admin</h1>
            Login : <b>".$query_admin->getLogin()."</b><br />
            Mot de passe : <b>".$query_admin->getPass()."</b>
            ");
        $mail->send();
        Atomik::flash("Identifiant envoyé par mail");
        return;
    }
    Atomik::flash("Login ou Email inconnu !");
}
?>
